jag har en java fil där man läser från en text fil Det här borde väl funka Funkade perfekt, vet du även hur man får till den att ta det som står på en viss rad tex bara det som står på rad 10. Har inte testat själv men LineNumberReader borde lösa ditt problem: Nä...jag hade läst lite fel om klassen. Har inte gjort det själv men detta testade jag om borde fungera:Java Läsa från fil
<code>
import java.io.*;
import javax.swing.JOptionPane;
class Filhantering {
public static void main(String[] args) throws Exception {
String filename = "Fil.txt";
FileReader readConnToFile = new FileReader(filename);
BufferedReader reader = new BufferedReader(readConnToFile);
String result = "The register:\n";
String oneName = reader.readLine();
while(oneName != null) { // null means end-of-file
result += oneName + "\n";
oneName = reader.readLine();
}
JOptionPane.showMessageDialog(null, result);
reader.close();
}
}
</code>
jag vill att jag i en annan java fil
<code>
public class a{
public static void main(String[] argv){
// härifrån vill jag kalla på denna funktionen typ
// Filhantering.läsfrånfil(Filen.txt) och så ska den köra den klassen och läsa
// från Filen.txt
}}
</code>
Vill alltså egntligen inte ha någon main i Filhanteringsprogrammet, men det kanske man kan ha ändå.
AndersSv: Java Läsa från fil
import java.io.*;
import javax.swing.JOptionPane;
class Filhantering {
public static void SkrivTillFil(String filename ) throws Exception {
FileReader readConnToFile = new FileReader(filename);
BufferedReader reader = new BufferedReader(readConnToFile);
String result = "The register:\n";
String oneName = reader.readLine();
while(oneName != null) { // null means end-of-file
result += oneName + "\n";
oneName = reader.readLine();
}
JOptionPane.showMessageDialog(null, result);
reader.close();
}
}
public class a{
public static void main(String[] argv){
try{
Filhantering.SkrivTillFil("test.txt");
}
catch(Exception e){
System.out.println(e);
}
}}
/JohanSv: Java Läsa från fil
Med vänliga hälsningar
AndersSv: Java Läsa från fil
http://java.sun.com/j2se/1.3/docs/api/java/io/LineNumberReader.html
Detta borde funka (inte testat)
<code>
FileReader readConnToFile = new FileReader(filename);
LineNumberReader reader = new LineNumberReader (readConnToFile);
String result = "The register:\n";
String oneName = reader.readLine();
reader.setLineNumber(10);
oneName = reader.readLine();
JOptionPane.showMessageDialog(null, result);
reader.close();
</code>
/JohanSv: Java Läsa från fil
<code>
FileReader readConnToFile = new FileReader(filename);
BufferedReader reader = new BufferedReader (readConnToFile);
int rowToRead=10;
String oneName="";
String result = "The register:\n";
for(int i=0;i<rowToRead;i++){
oneName = reader.readLine();
}
JOptionPane.showMessageDialog(null, oneName);
reader.close();
readConnToFile.close();
</code>
Men det kanske finns nån klass som faktiskt klarar av att "hoppa" till en rad istället för att gå dit...Nån annan kanske har en mer optimal lösning?
/Johan