Получить файл по указанному пути - PullRequest
0 голосов
/ 21 марта 2012

Мне нужно прочитать файл по указанному пути.Например: у меня есть файл с именем abc.txt, и он находится в /dev/user/assets/data/abc.png.Если нужно читать из Zip-файла, мы делаем что-то вроде

Zipfile zipFile = new ZipFile("test.zip");
ZipEntry entry = zipFile.getEntry(imagePath); // where image path is /dev/user/assets/data/abc.png.

Существует ли код, похожий на приведенный выше, для чтения из папки?Введите

File folder = new Folder("Users");

и укажите путь к /dev/user/assets/data/abc.png выше и прочитайте изображение.

Ответы [ 2 ]

2 голосов
/ 21 марта 2012

Да, File имеет конструктор из двух аргументов File(File parent, String child), который делает именно то, что вы описываете (возможно, вам просто нужно выбросить ведущий '/' ребенка). Взгляните на JavaDoc

0 голосов
/ 21 марта 2012

Я не уверен, правильно ли я понимаю, что вы хотите сделать. Но если вам нужно просто прочитать содержимое файла с заданным путем, вам не следует использовать File API.

Вместо этого вы должны использовать new FileReader(textFilePath); или new FileInputStream(imageFilePath);

Посмотрите на следующий пример , взятый из учебных пособий по Java.

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

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

        BufferedReader inputStream = null;
        PrintWriter outputStream = null;

        try {
            inputStream = new BufferedReader(new FileReader("xanadu.txt"));
            outputStream = new PrintWriter(new FileWriter("characteroutput.txt"));

            String l;
            while ((l = inputStream.readLine()) != null) {
                outputStream.println(l);
            }
        } finally {
            if (inputStream != null) {
                inputStream.close();
            }
            if (outputStream != null) {
                outputStream.close();
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...