Android studio System.out 中文乱码

今天在做一个线程方面的总结,突然发现 System.out.print中文会乱码,如下图

在这里插入图片描述

这是因为在Gradle中没有配置,在对应的module的gradle中添加如下配置代码:


tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

这样就好了

在这里插入图片描述

### Android Studio 中使用 `System.out.println` 打印输出的可行性及方法 在 Android Studio 中,`System.out.println` 是被支持的,并可以用于打印输出信息。然而,与标准 Java 应用不同,Android 应用的输出不会直接显示在控制台(Console)中,而是需要通过特定的日志工具或配置来查看输出结果。具体来说,`System.out.println` 的输出会被重定向到 Android 的日志系统中,并可以通过 Logcat 查看[^2]。 #### 查看 `System.out.println` 输出的方法 在 Android Studio 的 Logcat 窗口中,`System.out.println` 的输出会以 `System.out` 作为标签显示。可以通过以下步骤查看: 1. 打开 Logcat 窗口(通常位于 Android Studio 的底部)。 2. 在过滤器中选择 `Show only selected application`,确保仅显示当前应用的日志。 3. 查找标签为 `System.out` 的日志条目,这些条目即为 `System.out.println` 的输出[^2]。 例如,以下代码会输出日志到 Logcat: ```java System.out.println("This is a test message"); ``` #### 配置编码以避免乱码问题 在某些情况下,使用 `System.out.println` 打印中文字符时可能会出现乱码问题。这是由于默认的编码格式与项目使用的字符集不一致所致。可以通过在 `build.gradle` 文件中添加以下配置,将编译时的编码设置为 UTF-8,以避免乱码问题[^3]: ```gradle tasks.withType(JavaCompile) { options.encoding = "UTF-8" } ``` 此配置确保了在编译阶段使用 UTF-8 编码处理源文件,从而保证 `System.out.println` 输出的中文字符能够正确显示。 #### 替代方案:使用 `Log` 类进行日志输出 尽管 `System.out.println` 可以使用,但在 Android 开发中更推荐使用 `android.util.Log` 类进行日志输出。`Log` 提供了更丰富的日志级别(如 `Log.d()`、`Log.i()`、`Log.e()` 等),并且可以直接在 Logcat 中按级别过滤和查看[^2]。 示例代码如下: ```java import android.util.Log; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "This is a debug message"); Log.i(TAG, "This is an info message"); Log.e(TAG, "This is an error message"); } } ``` #### 注意事项 - `System.out.println` 不适用于频繁的日志输出,因为它不支持日志级别控制,且可能影响性能。 - 在发布正式版本时,建议禁用或移除 `System.out.println` 的调用,以避免不必要的日志输出。 - 如果项目涉及多语言字符(如中文),确保项目整体编码设置为 UTF-8,以避免乱码问题。 ---
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值