我是编程新手,我有基本知识。
我正在尝试制作一个程序:
例如,如果我有一个log / txt文件。从它我想要在第2点提取我正在从键盘上读取的所有字符串。
在此之后,我希望所有这些字符串都写在新的log / txt文件中。
我希望你知道我正在做什么。
这是我直到现在所写的内容,但我有点陷入困境,因为我还在学习编码语法,所以很难实现它。
class MySubView extends MyView {
答案 0 :(得分:0)
简而言之,你试图同时做太多事情。编程可以很像数学方程式,你一次只需要1个未知数。
答案 1 :(得分:0)
所以伙计们......我试着重新编写程序并搜索更多关于如何完成我想要做的事情,我遇到的问题就是我需要创建文件并写入文件的部分。 如果有人能在我需要写入新文件的部分告诉我我做错了什么,我将不胜感激。 这是我重新制作的代码:
package com.readtxtfile;
import java.io.*;
import java.util.Scanner;
public class Main {
private static String inputFilePath;
private static String textToGet;
private static void readInputFile()
{
String line1 = null;
Scanner input1 = new Scanner(System.in);
System.out.println("Insert the input file path:");
inputFilePath = input1.nextLine();
try {
FileReader readInput = new FileReader(inputFilePath+".txt");
BufferedReader bufferedInput = new BufferedReader(readInput);
line1 = bufferedInput.readLine();
if (line1 != null)
System.out.println("FILE LOADED SUCCESFULLY");
bufferedInput.close();
} catch (FileNotFoundException ex) {
System.out.println(
"Unable to open file '" + inputFilePath + "'");
} catch (IOException ex) {
System.out.println(
"Error reading file '" + inputFilePath + "'");
}
}
private static void textSearch()
{
Scanner input2 = new Scanner(System.in);
System.out.println("Insert the text you want to extract:");
textToGet = input2.nextLine();
}
private static void writeOutputFile()
{
Scanner input3 = new Scanner(System.in);
System.out.println("Insert the output file path:");
String outputFilePath = input3.nextLine();
Scanner input4 = new Scanner(inputFilePath);
int lineNumber = 0;
while (input4.hasNextLine()) {
String line2 = input4.nextLine();
lineNumber++;
if(textToGet.equals(line2))
{
File output_file = new File(outputFilePath +".txt");
FileWriter writeOutput = null;
BufferedWriter bufferedInput = new BufferedWriter(writeOutput);
try {
writeOutput = new FileWriter(output_file +".txt");
writeOutput.write(line2);
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}
public static void main(String[] args)
{
readInputFile();
textSearch();
writeOutputFile();
}
}