1. java导入自定义包问题
正常情况下么,javac在编译源文件的时候遇到非lang(java的核心类,不需要import的)类的话会尝试看看有没有被import进来了,如果被import进来了,那么就使用import进来的类来替代遇到的非lang类。如果没有被import进来或者import进来的类文件没有被找到,那么javac会在当前文件夹下面寻找对应于该类的源代码文件,找到该文件后编译它然后再编译你指定的文件。如果在当前文件夹下面没有找到的话,呵呵,那就会再到import指定的package目录中寻找,找到了就编译之,还是找不到的话就只有去classpath找了,如果找到了就也是编译之。如果还没有找到的话就报NoClassDefFoundError异常。
在这里,你使用了Date这一自定义的类,显然不是lang类了,所以会先在当前文件夹下面找,如果你的Date.java或者Date.class被找到了,那么就会检查找到的文件,是date.java的话就编译之,显然,你把Date.java放在了当前目录下而不是 firstpackage 中,所以尝试编译这个Date.java文件的时候会报错说date.java没有放在firstpackage文件夹中。当你把这个Date.java文件放到firstpackage的时候,就算你删掉了Date.class也不会有错误的,因为找到了Date.java,javac会自动把它编译一次的。
而你在第一次的时候直接import firstpackage.Date的话,那么javac会到当前目录下面的firstpackage文件夹下面找Date,找到了就万事大吉啦,找不到么,那就还是按上面说的到当前文件夹下面找Date类或者源文件了。如果这时你把firstpackage文件夹下面的Date.class删了,同时确保里面没有Date.java文件,那么javac回到当前目录下找Date.java文件,如果这个时候你把这个文件放在下面,那么会出现和 上面你把 Date.java 放在当前目录下而把Date.class 放在firstpackage文件夹下这种情况 同样的错误。因为错误类型同样是找到的date.java不在firstpackage文件夹下。
说了尼么多,虽然有点乱,但是应该没错才对。收工,闪~~
2. java自定义类及使用
class定义类 public class Person{}
使用类,需要创建类的对象 Person p = new Person()
在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的)。
在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化:
对于 char、short、byte、int、long、float、double等基本数据类型的变量来说会默认初始化为0(boolean变量默认会被初始化为false);
对于引用类型的变量,会默认初始化为null。
如果没有显示地定义构造器,则编译器会自动创建一个无参构造器,但是要记住一点,如果显示地定义了构造器,编译器就不会自动添加构造器。
3. Java里如何添加自定义的配置文件,JSP里去读取参数
java里可以再在resources里面新建一个XML file或者 file文件
XML file 会自动生成XML头,在下面加入内容就可以了,首先要有一个根节点,然后如果需要用到一些类,如:spring的一些类,就需要引入包,如:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="com.dist.*.controller" />
</beans >
其中<?xml ……就是头,<beans 是根节点,下面的<content:……是内容。
如果添加的事properties文件,格式如下:
# 连接池配置
pool.size = 2
pool.max = 50
然后jsp调用读取xml文件的方法去读取自重的内容就可以了。
4. java 如何引入自定义的java文件
自定义包实际上就是相对项目的一个文件夹路径。可以项目上右击,选择“new”,之后选择“Package”的形式创建一个文件夹路径(路径之间用英文“点”)。
举例:
创建的包路径:com.icardpay.business.core.remit.bank.handler.impl;
引用包路径:import com.icardpay.business.core.remit.bank.handler.impl.*;
5. java引入第三方包时如何指定配置文件文件
1、首先准备主清单文件“MANIFEST.MF”,,由于是打包引用了第三方jar包的Java项目。
2、其次故需要自定义配置文件MANIFEST.MF。
3、最后在该项目下建立文件MANIFEST.MF即可。
6. java 读取自定义类型文件
int数据是32位的,也就是4个字节的内容,sm文件中的channels是4个字节吗?如果是1、2的话估计不大可能用int,试试short
----补充---------------------------------------------
因为我没见过此类文件,具体的也不好说,
不过看你的[B@1fe571f好像是直接将一个没有覆盖toString()方法的对象打印出来,也就是调的Object的toString()方法,检查下你的代码,是不是类型转换的时候出问题了
继续补充————————
刚才试了下
byte a[]="aaaa".getBytes();
System.out.println(a);
输出的是[B@4f1d0d,证明你的代码是有问题的,将byte数组转换为String输出应该是System.out.println(new String(a));
7. java用户自定义输入文件路径
可以先定义定义一个path路径,之后创建文件,通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行来实现自定义文件路径输出,举例:
OutputStreamWriter pw = null;//定义一个流
string path = "D:";//自定义一个路径
pw = new OutputStreamWriter(new FileOutputStream(path+"/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
8. java生成自定义txt

经测试,会正确的在F盘上生成指定文件,内容也未出现乱码
还有哪里不懂的追问我
9. 怎样在JavaWeb项目中自定义一个配置文件。
你直接写个过滤类就可以了(使用filter的3个方法你懂得)
package com.enation.eop;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.util.Collection;import java.util.Date;import java.util.List;import java.util.Locale;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.enation.eop.processor.back.BackendProcessor;import com.enation.eop.processor.core.freemarker.FreeMarkerPaser;import com.enation.eop.processor.facade.FacadeProcessor;import com.enation.eop.processor.facade.InstallProcessor;import com.enation.eop.processor.facade.ResourceProcessor;import com.enation.eop.resource.IAppManager;import com.enation.eop.resource.model.EopApp;import com.enation.eop.sdk.context.EopContext;import com.enation.eop.sdk.context.EopContextIniter;import com.enation.eop.sdk.context.EopSetting;import com.enation.framework.context.spring.SpringContextHolder;import com.enation.framework.context.webcontext.ThreadContextHolder;public class DispatcherDemoFilter implements Filter { public void init(FilterConfig config) {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// HttpServletRequest req= ServletActionContext.getRequest();// String flag= req.getHeader("X-Requested-With");// HttpServletResponse response = ServletActionContext.getResponse();
String ip = ((HttpServletRequest) request).getHeader("x-forwarded-for"); if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = ((HttpServletRequest) request).getHeader("Proxy-Client-IP");
} if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = ((HttpServletRequest) request).getHeader("WL-Proxy-Client-IP");
} if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getRemoteAddr();
}
String authtoken = request.getParameter("auth-token");
System.out.println(authtoken);
StringBuffer sb = new StringBuffer() ;
InputStream is = request.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String s = "" ;
while((s=br.readLine())!=null){
sb.append(s) ;
}
System.out.println(sb);
String str =sb.toString();
System.out.println(ip+"时间"+new Date().getTime()); //response.setCharacterEncoding("utf-8");
response.setContentType("application/xml");
String write = "<cart><items><item feed-id="449573" offer-id="15" price="825" count="1" delivery="true"/>" +
"</items><delivery-options><delivery service-name="Курьер" type="DELIVERY" price="1490.00">" +
"<dates from-date="24-10-2016" to-date="26-10-2016"/></delivery>" +
"</delivery-options><payment-methods>" +
"<payment-method>CASH_ON_DELIVERY</payment-method></payment-methods></cart>";
System.out.println(write);
response.getWriter().write(write);
} public void destroy() {
}
private static boolean isExinclude(String uri) {
String[] exts = new String[] { "jpg", "gif", "js", "png", "css", "doc", "xls", "swf","ico" };
for (String ext : exts) { if (uri.toUpperCase().endsWith(ext.toUpperCase())) { return true;
}
} return false;
}
}