【问题标题】:reading and writing files into java将文件读写到java中
【发布时间】:2015-04-17 03:52:11
【问题描述】:

我必须创建一个名为 Lab13.txt 的文件。在文件中,我有 10 个数字。我导入了 10 个数字,必须将 Lab13.txt 中的所有数字乘以 10,并将所有新数字保存在名为 Lab13_scale.txt 的新文件中。因此,如果数字 10 在 lab13.txt 中,它会将 100 打印到 Lab13_scale.txt。这是什么 我有:

import java.io.*;

import java.util.Scanner;
public class lab13 {

    public static void main(String[] args) throws IOException{
        File temp = new File("Lab13.txt");
        Scanner file= new Scanner(temp);


        PrintWriter writer = new PrintWriter("Lab13_scale.txt", "UTF-8");
        writer.println("");
        writer.close();

    }

}

如何将数字乘以 10 并将其导出到新文件?

【问题讨论】:

  • 你卡在哪里了?
  • 我的意思是我在 lab13.txt 中看不到与多个数字相关的任何内容。这是一个包含很多步骤的过程。你的问题是什么?从 lab13 中取数字?或乘法?或写入 lab13_scale ?
  • 我有一个包含 10 个数字的文件,它会带入数字,但是我在哪里以及如何将数字乘以 10,然后如何将其保存到新文件中
  • 这里有一个相关的话题,将文件中的整数读入列表。 stackoverflow.com/questions/3806062/…

标签: java


【解决方案1】:

这段代码很简单:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;


public class Lab13 {

    public static void main(String[] args) throws FileNotFoundException {
        Scanner scan = new Scanner(new File("Lab13.txt"));
        PrintWriter print = new PrintWriter(new File("Lab13_scale.txt"));

        while(scan.hasNext()){
            print.write(10 * scan.nextInt()+"\n");
        }
        print.close();
        scan.close();
    }

}

【讨论】:

    【解决方案2】:

    如果数字用空格分隔,请使用

    file.nextInt();
    

    完整代码:

    int[] nums = new int[10];
    for(int i = 0; i < 10; i++){
        nums[i] = file.nextInt();
        nums[i] *= 10;
    }
    

    writer.println("");之后

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

    【讨论】:

      【解决方案3】:

      我会给你一个不同的方法。我是凭记忆写的,如有错误请告诉我。我假设每行的数字都是一个。

      public static void main(String[] args)
      {
      
        String toWrite = "";
        try{
         String line;
         BufferedReader reader = new BufferedReader(new FileReader("Lab13.txt"));
         while((line = reader.readLine())!=null){
             int x = Integer.parseInt(line);
             toWrite += (x*10) + "\n";
         }
         File output = new File("lab13_scale.txt");
         if(!output.exists()) output.createNewFile();
         FileWriter writer = new FileWriter(output.getAbsoluteFile());
         BufferedWriter bWriter= new BufferedWriter(writer);
         bWriter.write(toWrite);
         bWriter.close();
       }catch(Exception e){}
      }
      

      【讨论】:

      • 我使用通用的异常类型。我认为这是你的实验室工作,所以我建议你去看看它会抛出什么样的异常。
      • 这个真的很高级,我是java一年级的。我并不是想听起来很愚蠢,但是您能否简化它或解释它是如何工作的或如何做到的?
      • BufferedReader、FileReader基本上都是在读取文件内容。 (它将它转储到缓冲区中)。然后我一行一行地把一行的字符串内容转换成一个整数。然后我将整数乘以 10,将其添加到 toWrite 字符串(我们的新输出)并添加新行“\n”。然后我只需创建一个新文件并使用 File Writer/Buffered Writer 写入新创建的文件。
      • 好的,谢谢。我在“bWriter.write(toWrite);”中的 bWriter 下仍然出现错误并在“bWriter.close();”中
      • 你能粘贴错误吗?我编辑了一行-> new FileWriter(output.getAbsoluteFile())。让我知道它是否有效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 2013-03-10
      • 2014-03-27
      • 1970-01-01
      • 2016-08-10
      相关资源
      最近更新 更多