Avatar billede nfssister Forsker
12. oktober 2005 - 14:47 Der er 2 kommentarer og
1 løsning

Kan jeg få display til at blive til en fil ?

Hej

Jeg har lidt problemer med noget kode, jeg har det nedenstående kode, men jeg har lidt problemer med at få den til at skrive til en fil, der hvor display() står der vil jeg gerne have den til at skrive til en txt fil, som jeg så kan hive ud på en hjemmeside senere (dette er ikke et problem)... mit problem ligger i at få display lavet om så den skriver ud som fil i stedet...

nogen der gider hjælpe ? :D

import com.dalsemi.onewire.OneWireAccessProvider;
import com.dalsemi.onewire.adapter.DSPortAdapter;
import com.dalsemi.onewire.OneWireException;
import com.dalsemi.onewire.container.OneWireContainer;
import com.dalsemi.onewire.container.OneWireContainer28;

public class HumiditySensor {
  DSPortAdapter adapter;
  OneWireContainer28 owc;
  byte[] state;
  HumiditySensor(DSPortAdapter adapter) throws OneWireException {
    this.adapter = adapter;
// Only find DS2438 family devices
    adapter.targetFamily(0x28);
    adapter.setSpeed(adapter.SPEED_REGULAR);
    owc = (OneWireContainer28) adapter.getFirstDeviceContainer();
    if (owc == null) {
      throw new OneWireException("Ikke fundet nogen TempMålere");
    }
    state = owc.readDevice();
    displayData();

    while (owc != null)
    {
      owc = (OneWireContainer28) adapter.getNextDeviceContainer();

      if (owc == null)
      {
        System.out.println("Der findes ikke flere enheder.");
      }
      else
      {
          state = owc.readDevice();
          displayData(); <--- Er den jeg skal have til at gemme som txt (f.eks.: data.txt)
      }
    }

  }

  public double getTemperature() throws OneWireException {
    owc.doTemperatureConvert(state);
    state = owc.readDevice();
    return owc.getTemperature(state);
  }


  void displayData() {
    try {
      adapter.beginExclusive(true);
      System.out.println("Temperature = " + getTemperature() + " C");
    }
    catch (OneWireException owe) {
      System.out.println(owe.getMessage());
    }
    finally {
      adapter.endExclusive();
    }
  }

  public static void main(String[] args) {
    try {
      HumiditySensor humidity =
          new HumiditySensor(
          OneWireAccessProvider.getDefaultAdapter());
    }
    catch (OneWireException owe) {
      System.out.println(owe.getMessage());
    }
  }
}
Avatar billede mikkelbm Nybegynder
12. oktober 2005 - 17:12 #1
Hvis jeg har forstået dig ret, så burde nedenstående kunne gøre det:

void displayData()
{
    try
    {
          adapter.beginExclusive(true);
          System.out.println("Temperature = " + getTemperature() + " C");
          PrintWriter out = new PrintWriter(new FileOutputStream("dinfil.txt"));
        out.println("Temperature = " + getTemperature() + " C");
        out.close();
    }
    catch (OneWireException owe)
    {
          System.out.println(owe.getMessage());
    }
    finally
    {
          adapter.endExclusive();
    }
}


Og så en:

import java.io.*;
Avatar billede nfssister Forsker
15. oktober 2005 - 19:57 #2
det virkede.... takker
Avatar billede mikkelbm Nybegynder
15. oktober 2005 - 19:58 #3
Så smider jeg et svar... :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester