mimetypes.java

来自「gcc的JAVA模块的源代码」· Java 代码 · 共 87 行

JAVA
87
字号
/* Copyright (C) 2000  Free Software Foundation   This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License.  Please consult the file "LIBGCJ_LICENSE" fordetails.  */package gnu.gcj.io;import java.util.*;import java.io.*;public class MimeTypes{  private static Hashtable mime_types;    public static void fillFromFile (Hashtable table, String fname)     throws IOException  {    LineNumberReader reader =       new LineNumberReader (new FileReader (fname));        while (reader.ready ())      {	StringTokenizer tokenizer = 	  new StringTokenizer (reader.readLine ());		try 	  {	    String t = tokenizer.nextToken ();	    	    if (! t.startsWith ("#"))	      {		while (true)		  {		    // Read the next extension		    String e = tokenizer.nextToken ();		    if ((e != null) && (! e.startsWith ("#")))		      table.put (e, t);		    else		      break;		  }	      }	  } catch (NoSuchElementException ex) {	    // Do nothing.	  }      }  }  // This is the primary interface to this class.  public static String getMimeTypeFromExtension (String extension)  {    if (mime_types == null)      {	mime_types = new Hashtable ();		// First populate the hash table with the default mime type	// mappings.	int i = DefaultMimeTypes.types.length;	while (i > 1)	  {	    mime_types.put (DefaultMimeTypes.types[i - 2],			    DefaultMimeTypes.types[i - 1]);	    i = i - 2;	  }		// Now read mime types from /etc/mime.types if it exists.	// This should override the default values.	try {	  fillFromFile (mime_types, "/etc/mime.types");	} catch (IOException ex) {	  // Do nothing.	}		// Now read mime types from ~/.mime.types.  	// FIXME: We can't currently parse this file.      }    String type = (String) mime_types.get (extension);    if (type == null)      return ("application/octet-stream");    else      return (type);  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?