日期:2014-05-17  浏览次数:20709 次

加急!! 如何定位读取文件中某行内容,文件写入时用的是FileInputStream
例如文件:
我要读取第6161行的信息如何做

------解决方案--------------------
引用:
RandomAccessFile定位读取时,出现乱码,转码好像也不行!!


你这个文件本身就是乱码的吧?



------解决方案--------------------
引用:
Quote: 引用:

RandomAccessFile定位读取时,出现乱码,转码好像也不行!!


这个貌似不行,读取时会出现乱码。
我想问下用InputStream的skip方法可行吗?

skip也不是跳过行,暂时有个笨法子:

        LineNumberReader lineBufferedReader = null;
        try {
            lineBufferedReader = new LineNumberReader(new InputStreamReader(new FileInputStream(
                    new File("E:\\javaTest\\中国心.txt")), "UTF-8"));// 这里可以根据情况选择指定字符集读取文件
            String tmp = null;
            // 跳过前三行
            while (lineBufferedReader.getLineNumber() < 3) {
                lineBufferedReader.readLine();
            }
            tmp = lineBufferedReader.readLine();
            System.out.println(tmp);

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (null&nbs