第一步,随便用个开wifi软件开启笔记本局域网wifi热点,然后
然后需要注意三点
1、android的AndroidManifest需要开启几个权限,见如下加粗代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.water"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name ="android.permission.INTERNET"/> //网络传输权限,与服务器交互需要打开
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> //SD卡创建、删除文件夹,文件等权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> //读写SD卡权限
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="14" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2、下载操作必须另建一个线程
class ThreadDown extends Thread{
public void run(){
//你要实现的代码
String urlStr= "http://刚才查到的ip地址:8080/test.txt";
String fileName="test.txt";
InputStream input = null;
OutputStream output = null;
try {
if(GetInputStream(urlStr) != null)
{
input = GetInputStream(urlStr);//获取文件输入流
}
//取得inputStream,并将流中的信息写入SDCard
String pathName = "/mnt/sdcard/test/"+fileName;//文件存储路径
Log.i("aaa", pathName);
File file=new File(pathName);
new File("/mnt/sdcard/test").mkdirs();//新建文件夹
file.createNewFile();//新建文件
output=new FileOutputStream(file);
byte[] buffer=new byte[1024];
while(input.read(buffer)!=-1){ //读取输入流写入到输出流
output.write(buffer);
}
output.flush();
} catch (Exception e) {
}
}
}
把上面的内容写到一个类里,然后在一个按钮事件里写上new ThreadDown().start();就执行了开启一个新线程并下载test.txt文件,并保存到SD卡根目录下新建的test文件夹下了
注意:SD卡指的是手机内置的SD卡,不是后插的。
3、Tomcat必须要设置一下,否则路径错误,路径是由两部分组成的一部分是上文的ip地址,一部分是资源的路径
首先打开tomcat,conf文件夹下的server.xml和web.xml文件,如果用myEclipse自带的tomcat,在myEclipse工作空间/.metadata./me_tcat里找conf文件夹
在server.xml </Host>标签上面加上
<Context path="" docBase="D:/download" crossContext="false" debug="0" reloadable="true"></Context>
在web.xml里把
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value><strong>true</strong></param-value>//把这里原本的false改成true
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
再添加
<mime-mapping>
<extension>cfg</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ini</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
这两种文件的支持
之后直接把你要下载的资源放到d盘download文件夹下,你可以用localhost:8080访问资源文件列表