主要以下几种方法:
这个MimetypesFileMap类会映射出一个file的Mime Type,这些Mime Type类型是在activationjar包里面的资源文件中定义的
import javaxactivationMimetypesFileTypeMap;import javaioFile;
class GetMimeType {
public static void main(String args[]) {
File f = new File("testgif");
Systemoutprintln("Mime Type of " + fgetName() + " is " +
new MimetypesFileTypeMap()getContentType(f));
// expected output :
// "Mime Type of testgif is image/gif"
}
}
使用 javanetURL
警告:这个方法非常慢
与上面所说的匹配后缀名类似。后缀名和mime-type的映射关系被定义在[jre_home]\lib\content-typesproperties这个文件中
import javanet;
public class FileUtils{
public static String getMimeType(String fileUrl)
throws javaioIOException, MalformedURLException
{
String type = null;
URL u = new URL(fileUrl);
URLConnection uc = null;
uc = uopenConnection();
type = ucgetContentType();
return type;
}
public static void main(String args[]) throws Exception {
Systemoutprintln(FileUtilsgetMimeType("file://c:/temp/testTXT"));
// output : text/plain
}
}
还有一种方式:就是取文件名最后一个“”后的内容,通过人来判断如
String fileName = "aaatxt";
String fileType =“txt”//通过方法取出方法类型为
String type = "";
if( fileTyepequals("txt")){
type = "记事本";
}else if(fileTyepequals("img")){
type = "img";
}。。。。。
问题很简单。首先解释一下类型名。类型名是用来修饰变量或者函数返回值的。如inta=0;其中a是变量名,int是类型名,说明a这个变量的类型是int。结构名,先看下下面的一个结构定义structstudent{charname[100];};其中student就是结构名,它可以作为类型名,来修饰一个变量,如studentstu;说明stu变量的类型名是student。联合名unionperson{intage;};其中person就是联合名,它可以作为类型名,来修饰一个变量,如personper;说明per变量的类型名是person。枚举名enumReCode{ret_OK=0,};其中ReCode就是枚举名,它可以作为类型名,来修饰一个变量,如ReCodecode;说明code变量的类型名是ReCode。建议你看看书,你的基础太薄弱了,欢迎采纳!
package comloonewfweb;
import orgspringframeworkbeansBeansException;
import orgspringframeworkbeansfactoryNoSuchBeanDefinitionException;
import orgspringframeworkcontextApplicationContext;
import orgspringframeworkcontextApplicationContextAware;
/
Spring ApplicationContext 获取spring容器中的实例bean
@author ruilinxie
/
public class WebContextFactoryUtil implements ApplicationContextAware
{
/
Spring 应用上下文环境
/
private static ApplicationContext applicationContext;
/
实现ApplicationContextAware接口的回调方法,设置上下文环境
@param applicationContext
@throws BeansException
/
@SuppressWarnings("static-access")
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException
{
thisapplicationContext = applicationContext;
}
/
@return ApplicationContext
/
public static ApplicationContext getApplicationContext()
{
return applicationContext;
}
/
获取对象
@param name
@return Object bean的实例
@throws BeansException
/
public static Object getBean(String beanName) throws BeansException
{
if (!WebContextFactoryUtilcontainsBean(beanName))
{
return null;
} else
{
return applicationContextgetBean(beanName);
}
}
/
获取类型为requiredType的对象
如果bean不能被类型转换,相应的异常将会被抛出(BeanNotOfRequiredTypeException)
@param name
bean注册名
@param requiredType
返回对象类型
@return Object 返回requiredType类型对象
@throws BeansException
/
@SuppressWarnings({ "unchecked", "rawtypes" })
public static Object getBean(String name, Class requiredType)
throws BeansException
{
return applicationContextgetBean(name, requiredType);
}
/
如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true
@param name
@return boolean
/
public static boolean containsBean(String name)
{
return applicationContextcontainsBean(name);
}
/
判断以给定名字注册的bean定义是一个singleton还是一个prototype。
如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)
@param name
@return boolean
@throws NoSuchBeanDefinitionException
/
public static boolean isSingleton(String name)
throws NoSuchBeanDefinitionException
{
return applicationContextisSingleton(name);
}
/
@param name
@return Class 注册对象的类型
@throws NoSuchBeanDefinitionException
/
@SuppressWarnings("rawtypes")
public static Class getType(String name)
throws NoSuchBeanDefinitionException
{
return applicationContextgetType(name);
}
/
如果给定的bean名字在bean定义中有别名,则返回这些别名
@param name
@return
@throws NoSuchBeanDefinitionException
/
public static String[] getAliases(String name)
throws NoSuchBeanDefinitionException
{
return applicationContextgetAliases(name);
}
}
如何获取自定义类的所有属性 以及属性的类型
本帖属于CocoaChina会员发表,转帖请写明来源和帖子地址
题目有点长
直接看代码
复制代码
@interface AppState : NSObject{
BOOL _passed;
int _int;
/
状态是否正常
/
BOOL isPassed;
/
用户数据
/
NSMutableDictionary userValues;
}
@property(nonatomic ,assign) float _float;
@property(nonatomic ,assign) double _double;
@property(nonatomic ,retain) NSDate _date;
@property(nonatomic ,assign) char _char;
@property(nonatomic ,assign) int _int;;
@property(nonatomic ,assign) BOOL _passed;
@property(nonatomic ,assign) BOOL
isPassed;
我通过
#import
<objc/runtimeh>
里面的这样的方式来获取 所有的属性名 以及属性类型
复制代码
unsigned int propertyCount = 0;
objc_property_t properties = class_copyPropertyList(klass,
&propertyCount);
for (unsigned int i = 0; i < propertyCount; ++i) {
objc_property_t property = properties[i];
const char name = property_getName(property);//获取属性名字
const char attributes = property_getAttributes(property);//获取属性类型
}
具体的输出如下所示
复制代码
输出类 state T@"AppState",&,N,Vstate
正常输出
_float Tf,N,V__float
_double Td,N,V__double
_date T@"NSDate",&,N,V__date
_char
Tc,N,V__char
前面正常获得了所需的属性名称
但是后面的这个串让我怎么获取类别呢??
PS:V__date 后面是
V_属性名
以上就是关于用Java实现获取文件类型的方法。全部的内容,包括:用Java实现获取文件类型的方法。、如何在C++中获得完整的类型名称、如何通过类名取spring bean等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)