麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

文件名到URL的轉換

2019-11-18 13:28:06
字體:
來源:轉載
供稿:網友

  主題:
  * Pathnames to URLs
  * Using Vector in the Collection Framework
  * Reading/Writing Unicode Using I/O Stream Encodings
  
  CONVERTING PATHNAMES TO URLS
  
  File.toURL 方法是 java(tm) 2 Platform 的新特性, 可以用來將 pathname
  轉換為URL格式.
  
  簡單示例如下:
  
  import java.io.*;
  import java.net.*;
  
  public class url {
  public static void main(String args[])
  {
  if (args.length != 1) {
  System.err.  System.exit(1);
  }
  File f = new File(args[0]);
  try {
  URL u = f.toURL();
  System.out.println(u);
  }
  catch (MalformedURLException e) {
  System.err.println(e);
  }
  }
  }
  
  For input of:
  
  $ java url paper.txt (current Directory is t:/tmp)
  
  output is:
  
  file:/T:/tmp/paper.txt
  
  得到的URL可以用來指示Netscape或者IE來察看本地的文件.
  
  這個方法時的應用程序可以將本地文件與基于Web的資源一視同仁的編程.
  
  USING VECTOR IN THE COLLECTION FRAMEWORK
  
  Collections 是 Java 2 Platform 的新特性, 用于組織和操作大量的數據元素.
  再如, ArrayList 可以作為 Vector 的替代者, HashMap 和 Hashtable 極為相像.
  
  像 Vector 這樣的原先使用的類依然可以使用, 但是用新的代用品更為優(yōu)秀.
  如何在兩者之間轉化成為了一個問題. 你可能在應用程序中想把 Vector 對象
  轉換為 ArrayList . 如下示例說明了之一轉換過程:
  
  import java.util.*;
  
  public class convert {
  public static void process(ArrayList al)
  {
  for (int i = 0; i < al.size(); i++)
  System.out.println(al.get(i));
  }
  
  public static void main(String args[])
  {
  Vector vec = new Vector();
  
  vec.addElement("123");
  vec.addElement(new Integer(456));
  vec.addElement(new Double(789));
  
  process(new ArrayList(vec));
  }
  }
  
  首先生成一個 Vector 對象并加入若干個數據元素. 然后調用 process 方法,
  并將一個 ArrayList 作為參數, 這個 ArrayList 對象是通過帶有一個 Vector
  對象的參數的構造函數生成的. 更準確的說, 在這里, ArrayList 的構造函數
  所需的參數是從 "Collection" 接口實現的, Vector 的上兩層基類
  java.util.AbstractCollection 正是實現的 Collection 接口, 同樣 ArrayList
  對象也可以用同樣的方法從構造函數中獲得.
  
  READING/WRITING UNICODE USING I/O STREAM ENCODINGS
  
  與常用的其他語言不同 Java 使用雙字節(jié)的 Unicode 字符集. 這樣做帶來的問題是:
  Java的字符集是如何在磁盤文件上存儲的, 并且 Java 如何使用現有的大量 ASCII
  格式的數據?
  
  早期的 JDK(tm) , 比如 1.0.2 版本, 中這個問題沒有得到解決. 例如:
  DataInputStream.readLine 方法用于讀取整行的輸入, 但他無法正確的將字節(jié)轉化為
  字符, 因此已被廢棄. 在 Unicode 得到廣泛的使用前, 這個問題仍然是重要的.
  
  解決問題之道是使用 Reader 和 Writer 這一對 I/O 類. 他們是基于字節(jié)流的
  (如同FileInputStream), 并且實現字符, 字節(jié)的雙向轉換.
  
  下面的程序可以得到系統(tǒng)的缺省轉換格式:
  
  public class encode {
  public static void main(String args[])
  {
  String p = System.getProperty("file.encoding");
  System.out.println(p);
  }
  }
  
  在我的機器和 Java 2 軟件上, 輸出為 "GBK", 這個格式為:
  
  GBK, Simplified Chinese
  
  對于 encodings 的表格可以從如下獲得:
  
  http://java.sun.com/prodUCts/jdk/1.1/intl/Html/intlspec.doc7.html
  
  假如你希望直接指定轉換方式, 下面的程序就是范例, 他將Unicode字母表中的所有小寫字母寫入文件。
  在這些字母中, 有一些的高字節(jié)是非零的(就是那些大于'/u00ff'的字母),因此正確的轉化十分重要。
  這里使用的方式為 UTF-8, 他能夠將ASCII字符轉換為單字節(jié)字符,而其他字符仍然保持兩到三個字節(jié)。
  
  import java.io.*;
  
  public class enc1 {
  
  public static void main(String args[]) {
  try {
  FileOutputStream fos = new FileOutputStream("out");
  OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF8");
  for (int c = '/u0000'; c <= '/uffff'; c++) {
  if (!Character.isLowerCase((char)c))
  continue;
  osw.write(c);
  }
  osw.close();
  } catch (IOException e) {
  System.err.println(e);
  }
  }
  }
  
  相反的轉換過程如下;
  
  import java.io.*;
  
  public class enc2 {
  
  public static void main(String args[]) {
  try {
  FileInputStream fis = new FileInputStream("out");
  InputStreamReader isr = new InputStreamReader(fis, "UTF8");
  for (int c = '/u0000'; c <= '/uffff'; c++) {
  if (!Character.isLowerCase((char)c))
  continue;
  int ch = isr.read();
  if (c != ch)
  System.err.println("error");
  }
  isr.close();
  } catch (IOException e) {
  System.err.println(e);
  }
  }
  }
  
  InputStreamReader 和 OutputStreamWriter 是用于字節(jié)流域字符流進行相互轉化的類。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 羞羞电影网 | 最新一区二区三区 | 九九视频精品在线 | 日本教室三级在线看 | 91看片在线观看视频 | 中文字幕一区久久 | 国产一区二区三区高清 | 亚洲人成中文字幕在线观看 | 91久久久久久 | 中文字幕四区 | 国产乱弄 | 国产精品成人一区 | 精品亚洲午夜久久久久91 | 成片免费观看视频大全 | 高清成人在线 | 中文字幕免费看 | 日本欧美一区二区三区在线观看 | 国产91精品欧美 | av在线网站观看 | 毛片大全| 大学生一级毛片 | 密室逃脱第一季免费观看完整在线 | 国产精品毛片va一区二区三区 | 久草在线视频新 | 羞羞的动漫在线观看 | 中文字幕国 | 国产精品99精品 | 黄色网址你懂的 | www亚洲免费 | 日本中文字幕网址 | 欧美成年性h版影视中文字幕 | 久草在线综合 | 天天草天天爱 | 欧美日韩亚洲精品一区二区三区 | 成人免费看毛片 | 久久污 | h色网站免费观看 | av在线免费看网址 | 亚洲成人伊人 | 中文字幕 亚洲一区 | 99ri在线|