从Java程序中解析路径

时间:2013-11-12 05:34:46

标签: java parsing zip bufferedreader readfile

在指定路径/foo/file-a.txt上放置一个文件,该文件包含另一个文件的路径

file-a.txt在第一行包含:/bar/file-b.txt此路径。需要解析file-b.txt的路径并压缩该文件,并将该压缩文件从我的Java代码移到另一条路径/too/

我直到下面的代码然后我卡住了。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Reader 
{

public static void main(String[] args) 
{

    BufferedReader br = null;

    try 
    {

        String CurrentLine;

        br = new BufferedReader(new FileReader("/foo/file-a.txt"));

        while ((CurrentLine = br.readLine()) != null) 
        {
            System.out.println(CurrentLine);
        }

    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    } 
    finally 
    {
        try
        {
            if (br != null)br.close();
        } 
        catch (IOException ex) 
        {
            ex.printStackTrace();
        }
    }

}

}

我正在获取文本的路径,帮助将不胜感激。提前致谢

1 个答案:

答案 0 :(得分:2)

对于文件的实际压缩this页面可能会有所帮助。 一般来说,此代码将替换当前现有的zip文件。

public class TestZip02 {

  public static void main(String[] args) {
    try {
      zip(new File("TextFiles.zip"), new File("sample.txt"));
    } catch (IOException ex) {
      ex.printStackTrace();
    }
  }

  public static void zip(File zip, File file) throws IOException {
    ZipOutputStream zos = null;
    try {
      String name = file.getName();
      zos = new ZipOutputStream(new FileOutputStream(zip));

  ZipEntry entry = new ZipEntry(name);
  zos.putNextEntry(entry);

  FileInputStream fis = null;
  try {
    fis = new FileInputStream(file);
    byte[] byteBuffer = new byte[1024];
    int bytesRead = -1;
    while ((bytesRead = fis.read(byteBuffer)) != -1) {
      zos.write(byteBuffer, 0, bytesRead);
    }
    zos.flush();
  } finally {
    try {
      fis.close();
    } catch (Exception e) {
    }
  }
  zos.closeEntry();

  zos.flush();
} finally {
  try {
    zos.close();
  } catch (Exception e) {
  }
}

} }

对于移动文件,您可以使用File.renameTohere's an example. 希望这有帮助!