文档章节

如何调用wps打开我下载的文本文件?

徐干稳
 徐干稳
发布于 2015/10/09 15:29
字数 457
阅读 93
收藏 0
package com.example.wps;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.Looper;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {

    private Button download;
    private Button show;
    private TextView tv;
    private Button wps;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        download=(Button)findViewById(R.id.download);
        show=(Button)findViewById(R.id.show);
        wps=(Button)findViewById(R.id.wps);
        tv=(TextView)findViewById(R.id.tv);
        download.setOnClickListener(this);
        show.setOnClickListener(this);
        wps.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
        case R.id.download:
            new Thread(new Runnable() {
                @Override
                public void run() {
                    
                    HttpClient client=new DefaultHttpClient();
                    String url="http://www.baidu.com/";
                    HttpGet request=new HttpGet(url);
                    try {
                        HttpResponse response=client.execute(request);
                        if(response.getStatusLine().getStatusCode()==200){
                            InputStream is=response.getEntity().getContent();
                            int len=0;
                            byte[] read=new byte[1024];
                            File file=new File(Environment.getExternalStorageDirectory(),"baidu.txt");
                            if (!file.exists()) {
                                file.createNewFile();
                            }else{
                                Looper.prepare();
                                Toast.makeText(MainActivity.this, "文件夹存在",0).show();
                                Log.i("file", file.getAbsolutePath());
                                Looper.loop();
                            }
                            FileOutputStream fos=new FileOutputStream(file);
                            while((len=is.read(read))!=-1){
                                fos.write(read, 0, len);
                            }
                            is.close();
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }).start();
            break;
        case R.id.show:
            File file=new File(Environment.getExternalStorageDirectory(),"baidu.txt");
            if(file.exists()){
                try {
                    FileInputStream fis=new FileInputStream(file);
                    int len=0;
                    byte[] buffer=new byte[1024];
                    ByteArrayOutputStream baos=new ByteArrayOutputStream();
                    while ((len=fis.read(buffer))!=-1) {
                        baos.write(buffer,0,len);
                    }
                    fis.close();
                    baos.close();
                    tv.setText(new String(baos.toByteArray(),"utf-8"));
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }else{
                Toast.makeText(this, "file不存在", 0).show();
            }
            break;
        case R.id.wps:
            File file2=new File(Environment.getExternalStorageDirectory(),"baidu.txt");
            if(file2.exists()){
                Intent intent = new Intent();
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setAction(android.content.Intent.ACTION_VIEW);
                Uri uri = Uri.fromFile(file2);
                intent.setDataAndType(uri, "application/msword");
                //intent.setComponent(new ComponentName("cn.wps.moffice", "cn.wps.moffice.documentmanager.PreStartActivity"));
                startActivity(intent);
            }
            break;
        default:
            break;
        }
        
    }
}

效果图

© 著作权归作者所有

徐干稳
粉丝 1
博文 25
码字总数 7783
作品 0
武汉
私信 提问
WPS如何转换成PDF

现如今,WPS办公系统已经非常普遍,那么WPS如何转换成PDF呢?今天,小编给大家简单介绍下WPS如何转换PDF的小技巧。 软件介绍:迅捷PDF转换器是一款功能丰富的软件,拥有便捷的操作步骤,能快...

办公达人分享
2018/10/22
1
0
时隔一年,WPS For Linux 6634 发布:引入文档上云

时隔一年,Linux WPS中文社区版新版本10.1.0.6634正式发布。Linux 个人用户可以在公网免费下载使用。发布版本有x86平台32位、64位安装包,以及不同安装包格式rpm/deb/tar.xz(绿色免安装)。...

zhangxm1991
2018/06/05
6.3K
61
WPS Office 2019 For Linux 8722 发布,引入 PDF 组件

WPS Office 2019 For Linux 版本11.1.0.8722已如期上线。本次更新,我们重磅推出WPS PDF组件,为Linux用户提供全新的PDF阅读感受。为响应广大Linux用户的需求,我们新增了调整字符宽度、导入...

zb1495501334595
07/06
4K
22
WPS For Linux Alpha 12 P3发布

WPS For Linux Alpha 12 p3 发布 WPS for Linux Alpha 12 p3 发布,这个版本重点还是修复各种bug吧,没有增加什么新功能,这也算是一个良心产品了,虽然你有千百种理由使用xx-office,不过作...

oschina
2013/12/05
2.4K
51
​WPS For Linux Alpha 16 发布

WPS For Linux Alpha 16 发行注记 (2014-10-21) 新增: WPS文档比较功能 WPS/ET护眼模式 优化: 三项目启动速度 WPS全屏阅读模式 WPS打开文件速度 WPS退出速度 修复: WPS不能打开带密码的D...

huzuyi
2014/10/23
4K
60

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部