繁体   English   中英

JFileChooser的扫描仪?

[英]Scanner for JFileChooser?

我的jave代码可以完全读取文本文件,但是如何使它扫描文本文件并显示它具有一些损坏的代码?

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

import javax.swing.JFileChooser;


/**
 *
 * @author 
 */
public class NewMain {


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

   // Use file dialog to select file.
   JFileChooser chooser = new JFileChooser();
   int result = chooser.showOpenDialog(null);

   // This assumes user pressed Open
   // Get the file from the file 
   File file = chooser.getSelectedFile();
   // Open the file
   FileReader reader = new FileReader(file);

   // Use read, which returns an int
   int i = reader.read();
   while (i != -1)
   {
       // Convert to char and print
       char ch = (char)i;
       System.out.print(ch);
       // Get next  from read()
       i = reader.read();
   }
   // reader.close();


}
        }
    }

文本文件具有:

0.2064213252847991ZONK6, 48, 32, 81 // corrupted code 

0.9179703041697693, 36, 58, 3, 68 

0.10964659705625479, 74, 89, 69, 39 

0.322267984407108, 27, 87, 89, 69 

0.228123305601ZONK5, 76, 48, 23, 78 // corrupted code 

文本文件中具有ZONK的任何代码均已损坏

阅读javadoc:Scanner有一个构造函数,以File作为参数

构造一个新的Scanner,该扫描仪生成从指定文件扫描的值。

最好使用BufferedReader ,它可以像这样逐行读取。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

import javax.swing.JFileChooser;

public class NewMain {
    public static void main(String[] args) throws IOException{
        // Use file dialog to select file.
        JFileChooser chooser = new JFileChooser();
        int result = chooser.showOpenDialog(null);
        // This assumes user pressed Open
        // Get the file from the file 
        File file = chooser.getSelectedFile();
        // Open the file
        java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(file));
        String line = reader.readLine();
        while (line != null){
            System.out.print(line);
            if (line.contains("ZONK")){
                System.out.println("    // corrupted code");
            }else{
                System.out.println("");
            }
            line = reader.readLine();
        }
        reader.close();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM