我正在尝试将一个列表写入一个.txt文件
我正在尝试编写需要一段时间并将其放入CSV然后放入一个.txt文件的代码。我正在尝试将一个列表写入一个.txt文件
我想我写了正确创建文件的函数,但它不会让我调用函数。
public class Projects{
public static void main (String [] args) {
String ls [] = {"Apples", " Pairs", " HotDogs", " Potatos"};
String x = list_to_CSV(ls);
Write_To_CSV();
}
public static String list_to_CSV (String [] list) {
String CSV = "";
for(int i = 0; i < list.length; i++) {
if(i != list.length - 1) {
CSV += list[i] + ",";
}
else {
CSV += list[i] + "\n";
}
}
return CSV;
}
public static void Write_To_CSV(String [] list) {
String CSV_String = list_to_CSV(list);
File CSV = new File("CSV.txt");
try {
PrintWriter output = new PrintWriter (CSV);
output.println(CSV_String);
output.close();
} catch (IOException ex) {
System.out.printf("Error: %s\n", ex);
}
}
}
它试图返回Write_To_CSV()时给了我一个灯泡。 - 它表示Write_To_CSV不适用于参数()。我使用Eclipse(我不知道这是否有帮助)。
由于错误提示,Write_To_CSV
不适用于空的参数列表。您将其定义为采用String[]
参数。我猜你打算拨打Write_To_CSV(ls)
。
当方法声明为public static void Write_To_CSV(String [] list)
时,您正在尝试致电Write_To_CSV()
。您需要提供列表(字符串数组)作为参数,因为您没有没有任何参数的名称的方法。
将Write_To_CSV()
更改为Write_To_CSV(ls)
。
在其他一些注意事项上:由于您在Write_To_CSV
方法的第一行中调用list_to_CSV
,因此似乎不需要行String x = list_to_CSV(ls);
。 http://www.oracle.com/technetwork/java/codeconventions-135099.html
工作非常感谢!对不起,这是一个简单的修复。我真的不知道我在做什么。 – Jblue
很高兴工作。如果您的问题解决了,我建议您接受答案作为解决方案。 – DanielBarbarian
public static void Write_To_CSV(String [] list)
当你写的,这个方法有一个列表作为参数,但是你想不带任何参数在主执行:另外,作为在评论中提到的命名约定读了会很好。
另外,作为一个建议,因为在你的主体中,你已经将一个列表转换为一个CSV字符串,我不认为有必要在write_to_CSV()方法中再次执行它,所以使它更简单字符串作为参数并避免再次使用list_to_CSV()。
将参数传递给Write_To_CSV,您使用一个参数(String [])声明它,但是您正在调用而不传递任何内容。 – BigMike
了解Java命名约定。变量名和函数名应以小写字母开头 – Jens
'public static String list_to_CSV(String [] list){ return String.join(“,”,list)+“\ n”; }'如果你愿意,你的方法可以在一行中减少;)(并且从不美的单词之前删除空格;) – azro