java - 如何从输入流中重新打开文件

标签 java file-io

我想重新打开一个文件。我在输入流中有一个文件。我尝试过使用 Scanner 和 BufferedReader。但是在使用 close() 方法关闭文件后,我无法再次打开该文件。请帮助如何再次打开文件。 我写了下面的代码:

InputStream filename = getAttachstream();

        int rows =0 ;

        BufferedReader br= new BufferedReader(new InputStreamReader(filename));
        String strLine = "";
          try {
            while( (strLine = br.readLine()) != null) {
                rows++;
              }
            //br.reset();
            br.close();
            //br.reset();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
if(rows>0){
            InputStream filename1 = getAttachstream();
            Scanner inputStream1 = new Scanner(filename1);
                for (int rowIncr = 1; inputStream1.hasNext(); rowIncr++) {

                String data;
                try {
                    data = br.readLine();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                String [] values = data.split(",");
                String curRowPartNumber = values[0];
                String curRowQuantity =   values[1];
                if(rowIncr == 1)
                {
                    if((values[0]==null || values[0].trim().length()<=0)
                            || (values[1]==null || values[1].trim().length()<=0)
                            || (values[2] != "") || !"Part Number".equalsIgnoreCase(values[0].trim())
                            || !"Quantity".equalsIgnoreCase(values[1].trim())){
                        System.out.println("Invalid Excel sheet data");
                        throw new ECApplicationException(ECMessage._ERR_CMD_INVALID_DATAFORMAT, CLASSNAME,methodName);
                    }

                }

最佳答案

一旦流、读取器、写入器、套接字或任何其他资源关闭,您将无法再次打开它。

如果你想多次读取一个文件,你需要知道它的文件名。

关于java - 如何从输入流中重新打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12347823/

相关文章:

C++文件读取和字符串打印

java - 嵌套数据结构的对象创建,对性能的可避免影响?

Java JTable 分组

java - 获取 GPS 位置不起作用

android - 在移动 Android 手机上保存图像

java - 如何将 SourceDataLine 的内容写入文件?

java - JVM.dll 在哪里搜索依赖的 dll

java - 创建类似 Facebook 的菜单

java - 使用java从大文件中读取 block

android - 如何在尝试访问图片之前确保 JpegCallback 完成写入