Java 获取文件内容,然后将其打印到单独的文件?

Java 获取文件内容,然后将其打印到单独的文件?,java,Java,我将其设置为,它将读取一个文件,并在冒号处拆分它,同时它还有一行,即: while (s.hasNext()) { String line = s.nextLine(); String[] words = line.split("\\s*:\\s*"); //splits the file at colons 然后我想做的是将这些行写入一个不同的文本文件,我知道这是一个基本的问题,但我对这一点不熟悉,这会有很大帮助 System.out.pri

我将其设置为,它将读取一个文件,并在冒号处拆分它,同时它还有一行,即:

 while (s.hasNext()) {
        String line = s.nextLine();
        String[] words = line.split("\\s*:\\s*");
        //splits the file at colons
然后我想做的是将这些行写入一个不同的文本文件,我知道这是一个基本的问题,但我对这一点不熟悉,这会有很大帮助

System.out.println(hteam + " " + "[" + hscore + "]" + " " + "|" + " " + ateam + " " + "[" + ascore + "]"); //output the data from the file in the format requested

这是我用来将其写入控制台的代码,但我要做的是使其不写入控制台,而是将其写入单独的文本文件。

您可以使用下面的代码来执行此操作

int count=0;
String line="";
String[] words=new String[40];
try{
  while (s.hasNext()) {
    String fileName="the-file-name"+count+".txt";
    PrintWriter writer = new PrintWriter(fileName, "UTF-8");

         line =s.nextLine();
          words = line.split("\\s*:\\s*");

          for(int i=0;i<words.length;i++){
              writer.println(words[i]);
        }

        writer.close();

}

}catch(Exception e){

e.printStackTrace();
}
int count=0;
字符串行=”;
字符串[]字=新字符串[40];
试一试{
而(s.hasNext()){
String fileName=“文件名“+count+”.txt”;
PrintWriter=新的PrintWriter(文件名为“UTF-8”);
line=s.nextLine();
words=line.split(“\\s*:\\s*”);

对于(int i=0;i您可以首先通过设置其路径来创建一个新文件,然后对其进行写入

File file = new File("/home/user/filename.txt");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);

for(i = 0; i < words.length; i++) {
    bw.write(content);
}
bw.close();
File File=new文件(“/home/user/filename.txt”);
FileWriter fw=新的FileWriter(file.getAbsoluteFile());
BufferedWriter bw=新的BufferedWriter(fw);
对于(i=0;i
不要使用\\s*只需将行拆分为“:”阅读Java IO教程,并尝试一些方法。我以前已经写入文件,但我不确定如何从一个文件写入另一个文件您想如何编写
字符串[]
到一行?目前我将其输出到控制台,但我不确定如何将其写入文件。我目前使用以下命令将其输出到控制台:System.out.println(hteam+“”“+”[“+hscore+”]“+”+“+”+“+ateam+”+“[“+ascore+”]);//以请求的格式输出文件中的数据这有点没有帮助;主要是因为它不会在
尝试使用资源时关闭资源
,甚至不会在
最后关闭资源
。您还需要打印换行符,您可以使用
PrintWriter
并调用
println
。我尝试了这一点,但仅此而已将文本文件的最后一行写入新文本文件,知道原因吗?尝试在控制台中打印单词数组,检查它是否包含第一个文件中的所有行使用
line.split(“:”);
而不是
line.split(“\\s*:\\s*”);
如果要使用冒号进行拆分。split(“:”);不适用于我的文本文件,因为它无法正确读取它们。当我将代码放入某个部分时,我应该如何处理它?我应该将其设置为变量吗?我应该添加声明还是用try/catch包围?