Làm cách nào để xóa tất cả các khoảng trắng và các dòng trống khỏi Tệp txt bằng Java SE?Xóa tất cả các khoảng trống và các dòng trống
Input:
qwe
qweqwe
qwe
qwe
Output:
qwe
qweqwe
qwe
qwe
Cảm ơn!
Làm cách nào để xóa tất cả các khoảng trắng và các dòng trống khỏi Tệp txt bằng Java SE?Xóa tất cả các khoảng trống và các dòng trống
Input:
qwe
qweqwe
qwe
qwe
Output:
qwe
qweqwe
qwe
qwe
Cảm ơn!
Làm thế nào về một cái gì đó như thế này:
FileReader fr = new FileReader("infile.txt");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("outfile.txt");
String line;
while((line = br.readLine()) != null)
{
line = line.trim(); // remove leading and trailing whitespace
if (!line.equals("")) // don't write out blank lines
{
fw.write(line, 0, line.length());
}
}
fr.close();
fw.close();
Note - không được thử nghiệm, có thể không phải là cú pháp hoàn hảo nhưng cung cấp cho bạn một ý tưởng/cách tiếp cận để làm theo.
Xem JavaDocs sau cho mục đích tham khảo: http://download.oracle.com/javase/7/docs/api/java/io/FileReader.html http://download.oracle.com/javase/7/docs/api/java/io/FileWriter.html
Thao tác này sẽ xóa tất cả các dòng mới trong tệp. –
Có xem xét cắt chức năng()
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#trim()
Ngoài ra, một số mã sẽ là hữu ích ...
Đó là giải pháp hợp lệ duy nhất đã được tích hợp trong đối tượng String. Hoàn toàn không cần phải làm gì khác. Điều này nên được đặt làm câu trả lời – Omri
'Trả về một bản sao của chuỗi, với khoảng trống đầu và cuối được bỏ qua.' Nó không loại bỏ khoảng trống bên trong tệp văn bản, chỉ dẫn đầu & theo sau. Đây không phải là những gì OP yêu cầu. OP muốn xóa tất cả dấu cách và tab. –
...
Scanner scanner = new Scanner(new File("infile.txt"));
PrintStream out = new PrintStream(new File("outfile.txt"));
while(scanner.hasNextLine()){
String line = scanner.nextLine();
line = line.trim();
if(line.length() > 0)
out.println(line);
}
...
Di chuyển không gian cho mỗi dòng và không xem xét dòng trống và null:
String line = buffer.readLine();
while (line != null) {
line = removeSpaces(line);
//ignore empty lines
if (line.isEmpty()) return;
....code....
line = buffer.readLine();
}
public String removeSpaces (String arg)
{
Pattern whitespace = Pattern.compile("\\s");
Matcher matcher = whitespace.matcher(arg);
String result = "";
if (matcher.find()) {
result = matcher.replaceAll("");
}
return result;
}
Được sử dụng để loại bỏ trống các dòng trong cùng một tệp.
public static void RemoveEmptyLines(String FilePath) throws IOException
{
File inputFile = new File(FilePath);
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
String inputFileReader;
ArrayList <String> DataArray = new ArrayList<String>();
while((inputFileReader=reader.readLine())!=null)
{
if(inputFileReader.length()==0)
{
continue;
}
DataArray.add(inputFileReader);
}
reader.close();
BufferedWriter bw = new BufferedWriter(new FileWriter(FilePath));
for(int i=0;i<DataArray.size();i++)
{
bw.write(DataArray.get(i));
bw.newLine();
bw.flush();
}
bw.close();
}
package com.home.interview;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class RemoveInReadFile {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("Readme.txt"));
while(scanner.hasNext())
{
String line = scanner.next();
String lineAfterTrim = line.trim();
System.out.print(lineAfterTrim);
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Trong chương trình này, tôi đã xóa tất cả các khoảng trắng và đọc tất cả mọi thứ từ tệp tôi đọc trong một dòng. –
cho chúng ta thấy mã của bạn cho đến nay – JoseK
gì mã nào bạn có cho đến nay? –
là bài tập về nhà này? – Bozho