繁体   English   中英

java中的文件处理误区

[英]File handling in java misunderstanding

嗨,我目前正在学习Java,我在Java中阅读了很多关于文件处理的内容,但我还不明白。


import java.math.BigInteger;
import java.util.Scanner;

public class multiply {

    public static void main(String []args) {
            Scanner cin = new Scanner(System.in);  // Create a Scanner object

            String firstNumber = "";
            int n = cin.nextInt();
            while (n != 0) {
                int number = cin.nextInt();
                firstNumber = firstNumber + number;
                n--;
            }
            BigInteger number1 = new BigInteger(firstNumber);
            
            String firstNumber2 = "";
            int n2 = cin.nextInt();
            while (n2 != 0) {
                int number2 = cin.nextInt();
                firstNumber2 = firstNumber2 + number2;
                n2--;
            }
            BigInteger number2 = new BigInteger(firstNumber2);
            //BigInteger res = new BigInteger(number1.multiply(number2));
            
            System.out.println(number1.multiply(number2));
        
    }

}

我想出了这个程序,它乘以大 integer 但是,我不知道我应该添加什么以便它从名为“multiply.in”的文件中读取,并将结果显示在文件“multiply.out”中。

在c++中,我知道使用ifstream,ofstream可以解决问题。

如果您能帮助我编写代码,将不胜感激。

此代码读取文件并仅从第一行获取 integer 值。 并执行诸如加法和乘法之类的操作以及写入文件。

            public static void main(String args[]) throws IOException {
            Scanner cin = new Scanner(System.in);  // Create a Scanner object
    
            File file = new File("/home/Downloads/multiplyin.txt");
            File fileOut = new File("/home/Downloads/multiplyOut.txt");
    
            BufferedReader reader = new BufferedReader(new FileReader(file));
            String firstNumber = reader.readLine();
            System.out.println("input 1");
            int n = cin.nextInt();
            System.out.println("input 2");
            int n2 = cin.nextInt();
    
            while (n != 0) {
                System.out.println("sub inputs" + n);
                int number = cin.nextInt();
                firstNumber = firstNumber + number;
                n--;
            }
            BigInteger number1 = new BigInteger(firstNumber);
    
    
            while (n2 != 0) {
                System.out.println("sub inputs" + n);
                int number2 = cin.nextInt();
                firstNumber = firstNumber + number2;
                n2--;
            }
            BigInteger number2 = new BigInteger(firstNumber);
    
            BufferedWriter writer = new BufferedWriter(new FileWriter(fileOut));
            writer.write(String.valueOf(number1.multiply(number2)));
            writer.close();
            reader.close();
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM