tut mir Leid mit für Java so Noob zu sein mit,lesen und schreiben txt Scanner java
Ich habe folgendes Problem:
Ich möchte ein Array mit dem gleichen Punkt für den Zugriff auf 8 TXT-Dateien und bauen aus jeder Datei; Beispiel:
Ausgabe (1,1) = [Datei1 (Punkt (1,1), Datei2 (Punkt (1,1), Datei3 (Punkt (1,1), Datei4 (Punkt (1,1) , Datei5 (Punkt (1,1), file6 (Punkt (1,1), file7 (Punkt (1,1), file8 (Punkt (1,1)]
Und so dann,
Recht Jetzt habe ich folgende Probleme ... vor allem greift der Code nicht auf die Dateien zu, die ständig 0.0, 0.0, 0.0, ... 0.0 ausgeben, zweitens weiß ich nicht, wie ich sie erstellen soll der Ausgang (x, y) .txt
Jeder Dateieingang hat 1.050.622 Punkte ... also ist es notwendig, 1.050.622 Ausgänge zu erstellen ...
Jemand könnte mir helfen?
dies ist der Code, den ich schrieb:
package filtros;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
private static final String INPUT_FILE = "";
private static final String OUTPUT_FILE = "";
public static void main(String[] args) {
int n=1050622;
float datos[][] = new float[n][8];
Scanner sc1,sc2,sc3,sc4,sc5,sc6,sc7,sc8;
try {
sc1 = new Scanner(new File("C:\\Users\\Netbook\\f1.txt"));
sc2 = new Scanner(new File("C:\\Users\\Netbook\\f2.txt"));
sc3 = new Scanner(new File("C:\\Users\\Netbook\\f3.txt"));
sc4 = new Scanner(new File("C:\\Users\\Netbook\\f4.txt"));
sc5 = new Scanner(new File("C:\\Users\\Netbook\\f5.txt"));
sc6 = new Scanner(new File("C:\\Users\\Netbook\\f6.txt"));
sc7 = new Scanner(new File("C:\\Users\\Netbook\\f7.txt"));
sc8 = new Scanner(new File("C:\\Users\\Netbook\\f8.txt"));
for(int i=0;i<n;i++){
while (sc1.hasNextFloat()) {
datos[i][0] = sc1.nextFloat();
}
while (sc2.hasNextFloat()) {
datos[i][1] = sc2.nextFloat();
}
while (sc3.hasNextFloat()) {
datos[i][2] = sc3.nextFloat();
}
while (sc4.hasNextFloat()) {
datos[i][3] = sc4.nextFloat();
}
while (sc5.hasNextFloat()) {
datos[i][4] = sc5.nextFloat();
}
while (sc6.hasNextFloat()) {
datos[i][5] = sc6.nextFloat();
}
while (sc7.hasNextFloat()) {
datos[i][6] = sc7.nextFloat();
}
while (sc8.hasNextFloat()) {
datos[i][7] = sc8.nextFloat();
}
}
for(int i=0;i<n;i++){
System.out.print("espectro "+ i+ " ");
for(int j=0;j<8;j++){
System.out.print(datos[i][j] + " ");
//float datos[i] = new FileWriter("C:\\Users\\Netbook\\Exits");
}
System.out.println();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} hinter Ihnen
Bitte schreiben Sie eine spezifische Frage zu einem bestimmten Fehler, den Sie erhalten, und zeigen Sie auf die genaue Zeile im Code, wo Sie Hilfe benötigen. –
Als erstes möchten Sie alle 'while (sC# .hasNextFloat())' zu 'if (sC# .hasNextFloat())' ändern. Weil Sie gerade alle Floats in den Dateien während der ersten Iteration Ihrer for-Schleife gelesen haben, daher das Ergebnis von 0.0 (glaube ich). –
Ich brauche Hilfe überall, wo ich denke, XD ... also wenn jemand eine bessere Lösung schreiben kann, werde ich so zufrieden sein <3 –