gpt4 book ai didi

我的构造函数中的 JAVA Scanner 对象无法在我的方法中调用它

转载 作者:行者123 更新时间:2023-11-30 07:55:32 27 4
gpt4 key购买 nike

我需要将文件对象传递给我的构造函数,并且我需要在我的方法中创建一个构造函数。

我很困惑为什么我的代码无法编译。它给了我几个错误,但我仍在努力解决第一个错误:sc 无法解析

这是我的课:

public class Reverser {
public Reverser(File file) throws FileNotFoundException, IOException {
Scanner sc = new Scanner(file);
}
public void reverseLines(File outpr) {
PrintWriter pw = new PrintWriter(outpr);
while (sc.hasNextLine()) {
String sentence = sc.nextLine();
String[] words = sentence.split(" ");
new ArrayList < String > (Arrays.asList(words));
Collections.reverse(wordsarraylist);
if (wordsarraylist != null) {
String listString = wordsarraylist.toString;
listString = listString.subString(1, listString.length() - 1);
}
}
pw.write(listString);
}
}

这是我的主要内容:

import java.util.*;
import java.io.*;
public class ReverserMain {
public static void main(String[] args) throws FileNotFoundException, IOException {
Reverser r = new Reverser(new File("test.txt"));
}
}

最佳答案

您是否要向此类添加更多函数?您可以使用这样的方法来保持简单:

public static void reverseLines(File inputFile, File outPutFile) {
try (Scanner sc = new Scanner(inputFile); PrintWriter pw = new PrintWriter(outPutFile)) {
while (sc.hasNextLine()) {
// your logic goes in here

}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}


您可以对资源使用 try-catch block ,将自动关闭流。

当您写入输出文件时,如果该文件已经存在,您想要追加数据还是删除文件内容并写入一个全新的文件?
如果必须使用构造函数:

public class Reverser {

File inputFile;
File outputFile;

public Reverser(File inputFile, File outputFile) {
this.inputFile = inputFile;
this.outputFile = outputFile;
}

public static void main(String[] args) {
// TODO Auto-generated method stub

}

public void reverseLines() {
try (Scanner sc = new Scanner(inputFile); PrintWriter pw = new PrintWriter(outputFile)) {
while (sc.hasNextLine()) {
// your logic goes in here

}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}

}

关于我的构造函数中的 JAVA Scanner 对象无法在我的方法中调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32731317/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com