JAVA使用文件输入为输出中的特定字符换行
基本上,{和}需要在输出的新行上。但我不知道如何有效地阅读某些字符。我有一个程序,读取并输出这些行,但不知道从哪里开始。谢谢JAVA使用文件输入为输出中的特定字符换行,java,bufferedreader,filereader,fileoutputstream,Java,Bufferedreader,Filereader,Fileoutputstream,基本上,{和}需要在输出的新行上。但我不知道如何有效地阅读某些字符。我有一个程序,读取并输出这些行,但不知道从哪里开始。谢谢 public static void main(String[] args) throws IOException { // TODO Auto-generated method stub try { FileReader reader = new FileReader("textfile.txt"); BufferedReader buff
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
try {
FileReader reader = new FileReader("textfile.txt");
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
正如您希望读取文件字符一样。不要读行,而是读字符
while ((r = reader.read()) != -1) {
char ch = (char) r;
// do your work
}
}
若你们因为某种原因想先读一行
一个你接电话
char[] chars = line.toCharArray();
for (Char char : chars)
{
// check for that character and process accordingly
}
正如您希望读取文件字符一样。不要读行,而是读字符
while ((r = reader.read()) != -1) {
char ch = (char) r;
// do your work
}
}
若你们因为某种原因想先读一行
一个你接电话
char[] chars = line.toCharArray();
for (Char char : chars)
{
// check for that character and process accordingly
}
下面是一种简单的方法(使用org.apache.commons.io进行文件解析): 解决方案 解释 这会将文件读取为字符串,并将所有出现的'{'或'}'替换为'\n{'或'\n}' 顺便说一句,只有'{'字符需要通过'\\'替换 编辑: 如何使用图书馆。 鉴于您似乎对Java不熟悉,要使用该库,您有多种选择,其中之一是使用项目管理工具,如“ApacheMaven” 但是,最简单的选择是(选择“commons-io-2.4-bin.zip”)
将文件commons-io-2.4.jar提取到您的项目中。假设您有一个现代化的IDE,它将知道在代码中使用该库时如何导入该库。以下是一种简单的方法(使用org.apache.commons.io进行文件解析): 解决方案 解释 这会将文件读取为字符串,并将所有出现的'{'或'}'替换为'\n{'或'\n}' 顺便说一句,只有'{'字符需要通过'\\'替换 编辑: 如何使用图书馆。 鉴于您似乎对Java不熟悉,要使用该库,您有多种选择,其中之一是使用项目管理工具,如“ApacheMaven” 但是,最简单的选择是(选择“commons-io-2.4-bin.zip”)
将文件commons-io-2.4.jar提取到项目中。假设您有一个现代化的IDE,它将知道在代码中使用库时如何导入库。您可以使用
字符串.replaceAll
方法,然后您可以添加一行新行并将{
打印到新行
以下是您如何做到这一点:
public static void main(String[] args) throws IOException {
try {
FileReader reader = new FileReader("textfile.txt");
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
line=line.replaceAll("\\{", "\n{");
line=line.replaceAll("\\}", "\n}");
System.out.println(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
您可以使用
String.replaceAll
方法,然后可以添加新行并将{
打印到新行
以下是您如何做到这一点:
public static void main(String[] args) throws IOException {
try {
FileReader reader = new FileReader("textfile.txt");
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
line=line.replaceAll("\\{", "\n{");
line=line.replaceAll("\\}", "\n}");
System.out.println(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
输入文件将是一个简单的java类,其中{和}与代码位于同一行,例如{publicstaticvoidmain(String[]argv),我想将其分开。如果您只想修改代码的格式,请使用
astyle
或indent
之类的工具。谢谢,但我需要为此编写一段代码。然后您可以使用Apache FileutilsreadFileToString()将文件内容读入字符串
,并使用类似String.replace()
或String.replaceAll()
。将{
替换为\n{
等方法。程序将是几行代码。输入文件将是一个简单的java类,其中{和}与代码位于同一行,例如{public static void main(String[]argv),我想将其分开。如果您只想修改代码的格式,请使用astyle
或indent
之类的工具。谢谢,但我需要为此编写一段代码。然后您可以使用Apache FileutilsreadFileToString()将文件内容读入字符串
,并使用类似String.replace()
或String.replaceAll()
。将{
替换为\n{
等方法。该程序只需几行代码。downvoter请帮助我解释此处的错误。downvoter请帮助我解释此处的错误。