gpt4 book ai didi

JAVA帮助: Append file and remove last character

转载 作者:行者123 更新时间:2023-12-01 18:14:07 25 4
gpt4 key购买 nike

我对java还是很陌生,只学了一学期。我有我的第一次实习,这不是编程实习,只是一般的 IT 实习,因为这只是我的第一个学期。我的老板不懂 Java,大楼里的任何人也不懂。他知道我有一些基本的编程经验,并告诉我尝试解决他遇到的问题。他有一个已保存的报告,最后一行,报告的最后一个字符是字符转换符号,我们需要删除它,因为它给我们的网站带来了问题。我不确定我是否走在正确的轨道上,目前我只是在尝试和犯错。请帮忙:D

 public class RemoveChar {

public static void main(String[] args) throws FileNotFoundException {

// Variables and stuff
Scanner keyScan = new Scanner(System.in);
JFrame frameOne = new JFrame ("File Name");
Scanner fileScan = new Scanner(System.in);
String fileName;

// Ask user for file name
System.out.print("What is the file full file name? ");
fileName = fileScan.nextLine();

// Add .txt if the user forgets to put it in the prompt
if (!fileName.contains(".txt"))
fileName += ".txt";

//Test to see if file exists
File myFile = new File(fileName);
if(!myFile.exists()){
System.out.println(fileName + " does not exist. ");
System.exit(0);
}

fWriter = new FileWriter("config/lastWindow.txt", true);
/*while(fileName.hasNext()){

}
File
BufferedReader inputFile = new BufferedReader(new FileReader("C:\\" + fileScan));
//Scanner reader = new Scanner (inputFile);
*/



}

}

最佳答案

文件有多大?如果它们不是那么大,您可以将整个文件读入字符串,然后截掉最后一个字符:

//Set delimiter to end-of-string anchor \Z so that you can read the
//file in with just one call to next()
//from: http://stackoverflow.com/a/3403112/263004

String content = new Scanner(new File("filename")).useDelimiter("\\Z").next();
String withoutLastCharacter = content.substring(0, content.length - 1);

然后您只需将 withoutLastCharacter 写入文件即可。

否则,您需要逐行读入原始文件并将其写入临时文件,然后将该文件复制到原始文件上。但是,如果您在最后一行,则会砍掉最后一个字符。下面是一些代码,可以让您了解基本逻辑:

while(scanner.hasNextLine()) {
String line = scanner.nextLine();

//If this is the last line chop off the last character.
if(!scanner.hasNextLine()) {
line = line.substring(0, line.length - 1);
}

//Write line out to temporary file
...
}

您还提到它不一定是 Java。如果您使用的是 Linux 或 Mac,则可以使用 sed 执行此操作:

sed -i '$s/.$//' <filename>

这将删除文件最后一行的最后一个字符。

关于JAVA帮助: Append file and remove last character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30763880/

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