小编Kee*_*rox的帖子

手动加载Java Charset

我正在使用JavaMail API 做一些工作,并且我遇到了Java本身不支持的编码(按设计),例如UTF7/unicode-1-1-utf-7.特别是对于那种编码,我发现了Java 和UTF7 的JUTF7实现.但是,将jutf7.jar添加到我的类路径后,我仍然得到了s,而unicode-1-1-utf-7绝对是JUTF7的别名之一.CharsetCharsetProviderUnsupportedEncodingException

有没有办法手动加载Charset或确保Charset正在加载,以便我可以将其作为原因进行排除?

java jakarta-mail character-encoding utf-7

7
推荐指数
1
解决办法
5490
查看次数

在哪里定义OnClickListener以关闭Android中的自定义对话框视图?

我定义了以下自定义对话框视图:

public class MyDialog extends Dialog {
    public MyDialog(Context context) {
        super(context);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.my_dialog);

        getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    }
}
Run Code Online (Sandbox Code Playgroud)

该对话框使用以下布局,其中仅包含"Dismiss Me"按钮:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal" >

        <Button
            android:id="@+id/dismiss_btn"
            android:layout_width="100dip"
            android:layout_height="30dip"
            android:layout_centerHorizontal="true"
            android:text="Dismiss me"
            android:textSize="8dip"
            android:textColor="#ffffff" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

MainActivity显示一个按钮,triggerDialogBtn按下时将显示我的对话框.我还为dismiss_btn我的对话框上的按钮定义了一个处理程序方法,用于在按下时关闭我的对话框.

public class MainActivity extends Activity{
    private Button triggerDialogBtn;
    private MyDialog myDialog;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //initialize my dialog
        myDialog = new MyDialog(this);

        //the …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-manifest android-emulator android-layout

4
推荐指数
1
解决办法
7280
查看次数

将ZipEntry复制到新ZipFile的惯用方法是什么?

我正在编写一个工具来在DOCX文件中进行一些小文本替换,这是一种压缩格式.我的方法是ZipEntry使用a将原始文件中的条目内容复制到修改后的文件中ZipOutputStream.对于大多数DOCX文件,这种方法效果很好,但偶尔我会遇到ZipException有关我写的内容与其中包含的元信息ZipEntry(通常是压缩大小的差异)之间的差异的问题.

这是我用来复制内容的代码.为简洁起见,我删除了错误处理和文档处理; 到目前为止,我还没有遇到过文档条目的问题.

ZipFile         original = new ZipFile(INPUT_FILENAME);
ZipOutputStream outputStream = new ZipOutputStream(new FileOutputStream(OUTPUT_FILE));
Enumeration     entries = original.entries();
byte[]          buffer = new byte[512];
while (entries.hasMoreElements()) {
    ZipEntry    entry = (ZipEntry)entries.nextElement();
    if  ("word/document.xml".equalsIgnoreCase(entry.getName())) {
        //perform special processing
    }
    else{
        outputStream.putNextEntry(entry);
        InputStream in = original.getInputStream(entry);
        while (0 < in.available()){
            int read = in.read(buffer);
            outputStream.write(buffer,0,read);
        }
        in.close();
    }
    outputStream.closeEntry();
}
outputStream.close();
Run Code Online (Sandbox Code Playgroud)

ZipEntry对象直接复制ZipFile到另一个对象的正确或惯用方法是什么?

java zip copy docx

0
推荐指数
1
解决办法
4915
查看次数