Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Как задается кодировка файла?




День 4

Формат xml позволяет не только положить данные в файл, но и структуру данных.

Как задается кодировка файла?

InputStreamReader и OutputStreamWriter - классы-мосты, преобразующие символьные потоки в байтовые.

 

 

InputStreamReader и OutputStreamWriter при преобразовании символов также используют некоторую кодировку. Ее можно задать, передав в конструктор в качестве аргумента ее название. Если оно не будет соответствовать никакой из известных кодировок, будет брошено исключение UnsupportedEncodingException. Вот некоторые из корректных значений этого аргумента (чувствительного к регистру! ) для распространенных кодировок: " Cp1251", " UTF-8", " 8859_1" и т. д.

 

 

  package app21. pkg1;   import java. io. *;   public class App211 {   /** * @param args the command line arguments */ public static void main(String[] args) throws IOException {    // TODO code application logic here    String name = " ascii. txt";    String enc = " UTF-8";    BufferedReader br =    new BufferedReader(        new InputStreamReader(            new FileInputStream(name), enc));                    System. out. println(br. readLine());    System. out. println(br. readLine());    br. close(); }     }
run: Hello, to all. � � � � � � � � � �. СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 0 секунд)

 

 

  package app21. pkg1;   import java. io. *;   public class App211 {   /** * @param args the command line arguments */ public static void main(String[] args) throws IOException {    // TODO code application logic here    String name = " ascii. txt";    String enc = " UTF-16";    BufferedReader br =   new BufferedReader(        new InputStreamReader(            new FileInputStream(name), enc));                    System. out. println(br. readLine());    System. out. println(br. readLine());    br. close(); }     }
run: 䡥 汬 漬 ⁴ 漠 慬 氮 ഊ 싱  ⃯    ഊ null СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 0 секунд)

 

 

  package app21. pkg1;   import java. io. *;   public class App211 {   /** * @param args the command line arguments */ public static void main(String[] args) throws IOException {    // TODO code application logic here    String name = " ascii. txt";    String enc = " Cp1251";    BufferedReader br =    new BufferedReader(        new InputStreamReader(            new FileInputStream(name), enc));                 System. out. println(br. readLine());    System. out. println(br. readLine());    br. close(); }     }
run: Hello, to all. Всем привет. СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 0 секунд)

 

  package app21. pkg1;   import java. io. *;   public class App211 {   /** * @param args the command line arguments */ public static void main(String[] args) throws IOException {    // TODO code application logic here    String name = " unicode. txt";    String enc = " UTF-16";    BufferedReader br =    new BufferedReader(        new InputStreamReader(            new FileInputStream(name), enc));                    System. out. println(br. readLine());    System. out. println(br. readLine());      br. close(); }     }
run: Hello, to all. Всем привет. СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 0 секунд)

 

 

 

Также класс File предоставляет возможность получения некоторой информации о файле:

Методы canRead и canWrite – возвращается boolean значение, можно ли будет приложению производить чтение и изменение содержимого из файла, соответственно.

getName – возвращает строку – имя файла (или каталога).

getParent, getParentName – возвращают каталог, где файл находится в виде объекта и строки названия File, соответственно.

getPath – возвращает путь к файлу (при этом в строку преобразуется абстрактный путь, на который указывает объект File).

isAbsolutely – возвращает boolean значение, является ли абсолютным путь, которым указан файл. Определение, является ли путь абсолютным, зависит от системы, где запущена Java-машина. Так, для Windows абсолютный путь начинается с указания диска, либо символом '\'. Для Unix абсолютный путь начинается символом '/'.

isDirectory, isFile – возвращает boolean значение, указывает ли объект на каталог либо файл, соответственно.

isHidden – возвращает boolean значение, указывает ли объект на скрытый файл.

lastModified – дата последнего изменения.

length – длина файла в байтах.

Также можно изменить некоторые свойства файла – методы setReadOnly, setLastModified, назначение которых очевидно из названия. Если нужно создать файл на диске, это позволяют сделать методы createNewFile, mkDir, mkDirs. Соответственно, createNewFile создает пустой файл (если таковой еще не существует), mkDir создает каталог, если для него все родительские уже существуют, а mkDirs создаст каталог вместе со всеми необходимыми родительскими.

Файл можно и удалить – для этого предназначены методы delete и deleteOnExit. При вызове метода delete файл будет удален сразу же, а при вызове deleteOnExit по окончании работы Java-машины (только при корректном завершении работы) отменить запрос уже невозможно.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...