Javaでファイルからデータを読み込み、それをcsvファイルに書き込もうとすると問題が発生します。 ArrayList変数 'data'を設定し、スキャナを使用してデータファイルから行を読み込みます。この問題は、データが読み込まれ、次の行に出力されるときに発生します。System.out.println(line);ファイルからの読み込みやJavaでのファイルへの書き込みに問題があります
それはこのように出てくる:ファイルはちょうどこのように見えるとき
[Tim]
[Tim]
[March]
[Tim]
[March]
[11751 N River Dr]
[Tim]
[March]
[11751 N River Dr]
[Apt 4]
[Tim]
[March]
[11751 N River Dr]
[Apt 4]
[Mankato]
[Tim]
[March]
[11751 N River Dr]
[Apt 4]
[Mankato]
[MN]
[Tim]
[March]
[11751 N River Dr]
[Apt 4]
[Mankato]
[MN]
[56001]
:
[Tim]
[March]
[11751 N River Dr]
[Apt 4]
[Mankato]
[MN]
[56001]
は、それが幾分不規則にラインを印刷している理由はありますか?メインラインを一度だけ印刷するためにどこかにループを含める必要がありますか?私の2番目の問題は、ファイルをCSVファイルとして書き込もうとしたときに、最後の行(56001)を印刷しているだけで、他の行は印刷していないという問題が発生しています。これをするために私が紛失していることはありますか?これは私がこれまで持っていたコードです。
import java.util.*;
import java.io.*;
public class ReadFromDat {
/**
* @param <Data>
* @param args
*/
public static ArrayList<String> data;
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
@SuppressWarnings("resource")
Scanner sc = new Scanner(new File("C:\\Users\\Tim\\Desktop\\data.dat"));
data= new ArrayList<String>();
List<String> line = null;
while (sc.hasNextLine()){
data.add(sc.nextLine());
for (String lines: data) {
line = new ArrayList<String>(Arrays.asList(lines.split("\n")));
System.out.println(line);
}
//line = Arrays.asList(data.split("\n"));
//System.out.println(data);
FileWriter output = new FileWriter("C:\\Users\\Tim\\Desktop\\data.csv");
for (String data: line) {
output.write(data);
}
output.close();
}
}
}
[デバッグ方法を学んでください](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) – shmosel