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;
}
}